#
##
#### TRABALHO FINAL ####
##
## Ttulo: Despesas Mensais ##
#
# Proposta: elabrao de uma tabela simples e sem detalhes para visualizao rpida de previso valores gastos 
### no meses futuros e o saldo final a cada ms.
##
#################################
##### Informaes na tabela #####
##
# - Resduo (res=v1): o valor a partir do qual ser debitado no ms vigente.
# - Salrio mensal (sal=v2).
# - Gastos Mensais Normais (gmn=v3): gasto habituais, contas mensais, entre outros.
# - Gastos Mensais Temporrio (gmt=v4): compras  prazos e j planejadas.
# - Gastos Extras (ge=v5): compra  vista ou  prazo, sem planejamento e necessrios. 
# - Gastos Sem Aviso (gsa=v6): compra realizadas por impulso.
# - Poupana (poupa=v7).
# - Saldo no Final do Ms {smf()}: saldo no final do ms (positivo ou negativo) e que ser includo no prximo ms.    
##
###############################
########## FUNO ############# 
###############################
###
##
#
######## Modelo 1 ########
#### Somente a funo ####
###
sfm=function(v1,v2,v3,v4,v5,v6,v7)
{
res=v1                     ## Resduo, isto , crdito ou dbito do ms anterior
sal=v2                     ## Salrio do ms
gmn=v3                     ## Gasto Mensal.Normal
gmt=v4                     ## Gasto Mensal.Temporrio
ge=v5                      ## Gasto Extra
gsa=v6                     ## Gasto Sem Aviso
poupa=v7                   ## Poupana (valor do depsito no ms)
gt=gmn+gmt+ge+gsa+poupa    ## Somatrias dos Gastos + Poupana = Gastos Totais     
sfm=sal+res-gt             ## Valor Final = Resduo + Gasto Total 
dmes=sal-sfm               ## Valor (crdito ou dbito) no final do ms, isto , Salrio do ms - (Resduo + Gastos Totais)
return(sfm)
}
sfm
sfm(-30,1000,500,200,300,400,100)
sfm(30,1000,500,200,300,400,100)
###########
###
#
################## Modelo 2 ######################
####  Matrix da Funo do modelo 1 modificado ####
###
sfm=function(v1=0,v2=0,v3=0,v4=0,v5=0,v6=0,v7=0,meses=0)
{
res=v1                  
sal=v2                  
gmn=v3                 
gmt=v4                 
ge=v5                   
gsa=v6                  
poupa=v7                
gt=gmn+gmt+ge+gsa+poupa                 
sfm=sal+res-gt    
dmes=matrix(data=NA,nrow=9,ncol=(meses+1),dimnames=list(c("Resduo","Salrio","GM.Normal","GM.Tempo","G.Extra","GS.Aviso","Poupa","G.Final","Saldo"),
       c(1:(meses+1))))
gt<-gmn+gmt+ge+gsa+poupa
sfm<-sal+res-gt
dmes[1,]<-res
dmes[2,]<-sal
dmes[3,]<-gmn
dmes[4,]<-gmt
dmes[5,]<-ge
dmes[6,]<-gsa
dmes[7,]<-poupa
dmes[8,]<-gt
dmes[9,]<-sfm
for(r in  1:meses)
{
dmes[9,r]<-dmes[1,r]+dmes[2,r]-dmes[8,r]               
dmes[1,r+1]<-dmes[1,r]+dmes[2,r]-dmes[8,r]
}
dmes.final<-dmes[,1:meses]
return(dmes.final)
}
#######
####
#
######## Exemplos ###########
#### Rodando a funo #######
###
sfm(0,1000,500,100,85,0,0,3)
sfm(0,1000,500,100,85,0,0,6)
sfm(-100,1400,700,300,100,100,100,12)
#
#
######
########### FIM!!! ##########

